How to trust a web site that says it is eBay or CS?
How to send a credit card number in a secure manner?
In TRUQA and TRU Messenger, you will need to send the username and password.
The username and password are not encrypted.
Can anybody read the username and password during the transmission to the server?
Assuming there is a way to send the username and password in a secure manner,
do we still need strong passwords?
As a system administrator, how can you trust users?
Check the URL field on the top of the browser. Do you see the 'https' instead of 'http'?
How about the user authentication used for this section?
Secure communications, and encryption and decryption
Is it safe to send username and password as plain texts?
Here are some issues that you still need to solve.
Server (or website) authentication - how to authenticate a server?
User authentication - how to authenticate a user?
Secure channel - how to send data through a secure channel?
What information can you obtain from a digital certificate?
How can you check if HTTPS is not being used?
How can you redirect the HTTP connection to HTTPS?
Is it a good idea to store passwords in a database table as plain text?
What is a hash function?
Can you store encrypted password into your 'username_password' database table?
Trial 1: Slides 16 ~ 17 - Let's try to add a new user with encrypted password.
Trial 2: Slide 22 - Let's try to ask the user to enter username and password using 'Basic Authentication'.
[You may skip the remainders.]
How to encrypt and decrypt data?
Decide the cipher algorithm and mode.
Get the IV (initialization vector) size.
Create the IV.
Encrypt data with the key, ...
How to send encrypted data?
base64_encode()
base64_decide()
Trial 3: Let's just try the next example to see how encryption/decryption work.
The execution might take some time. This is because of mcrypt_...() functions.
Just wait till you see any result.
How to send error message back?
Learning outcomes
List the four issues concerning security.
Distinguish the user authentication and the server authentication.
How to authenticate servers using digital certificates.
How to authenticate users using passwords.
How to redirect to HTTPS.
How to hash user passwords for user authentication.